using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;

namespace RBAC.Domain.ProcessManagement
{
    /// <summary>
    /// 工序主表
    /// </summary>
    [Table("ProcessInfo")]
    public class ProcessInfo : BaseEntity
    {
        /// <summary>
        /// 工序编号（如：GJ-001）
        /// </summary>
        public string? ProcessCode { get; set; }

        /// <summary>
        /// 系统编号（页面右上角系统编号）
        /// </summary>
        public string? SystemCode { get; set; }

        /// <summary>
        /// 工序名称
        /// </summary>
        public string? ProcessName { get; set; }

        /// <summary>
        /// 工序分类Id（关联 ProcessClassification）
        /// </summary>
        public long? ClassificationId { get; set; }

        /// <summary>
        /// 工序分类名称（冗余便于列表直接展示）
        /// </summary>
        public string? ClassificationName { get; set; }

        /// <summary>
        /// 所属部门Id（关联 DepartmentManagement）
        /// </summary>
        public long? DepartmentId { get; set; }

        /// <summary>
        /// 所属部门名称
        /// </summary>
        public string? DepartmentName { get; set; }

        /// <summary>
        /// 负责人用户Id（关联 UserModel）
        /// </summary>
        public long? OwnerUserId { get; set; }

        /// <summary>
        /// 负责人用户名
        /// </summary>
        public string? OwnerUserName { get; set; }

        /// <summary>
        /// 状态（1=启用，0=禁用）
        /// </summary>
        public int Status { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        public string? Remark { get; set; }

        /// <summary>
        /// 工序附件集合
        /// </summary>
        public ICollection<ProcessAttachment>? Attachments { get; set; }
    }
}
